//除了简单数据类型，其他都是对象
// 数组是可遍历的（索引）的对象
// 数组和对象字面量 
// 相同点 1.都是 Object 2.数据容器
// 不同点 1.数组是用整数做下标 0~arr.length-1 / 对象是key:value
const arr = [1, 2, 3, 4, 5]
// console.log(Object.prototype.toString.call(arr));
// console.log(typeof arr)

console.log(Array.isArray(arr));
let obj = {
    name: 'Cavan',
    sex: 'man',
    hometown: 'PX',
    hobbies: ['play', 'sleep']
}


// for in 有点慢
for (let a in arr) {
    console.log(a)
}
for (let key in obj) {
    console.log(key)
}
// for of  新的es6方案 可读性更好 面向人类的编程
for (let item of arr) {

}
// 计数循环 快 but 机器思维的代码 面向cpu编程
for (let i = 0; i < arr; i++) {
    console.log(arr[i])
}
//forEach————callback回调函数(值，索引)
arr.forEach(function (item, index) {
    console.log(item, index);
})